//
//  Router.h
//  YZ
//

#import <Foundation/Foundation.h>

@interface YZRouter : NSObject

typedef NS_ENUM(NSInteger, RouterMethod) {
    
    RouterMethodPush,
    RouterMethodPushAnimate,
    
    RouterMethodPresent,
    RouterMethodPresentAnimate
};

SingletonH

#pragma mark - 跳转 视图

/*
 push 方式跳转 view controller
 pushSB  从 storyboard 创建 vc
 pushNib 从 nib 创建 vc
 pushVC  直接 init 创建 vc
 
 @param vcName 跳转 view controller 名称
 @param sbName storyboard name
 @param identifier storyboard 中识别 vc 的 identifier（最好和 vc 同名）
 */

- (void)pushSB:(NSString*)sbName withIdentifier:(NSString*)identifier;
- (void)pushNib:(NSString*)vcName;
- (void)pushNib:(NSString*)vcName withParams:(NSDictionary*)params;
- (void)pushVCName:(NSString*)vcName;
- (void)pushVC:(UIViewController*)vc;

/*
 present 方式跳转 view controller
 presentSB  从 storyboard 创建 vc
 presentNib 从 nib 创建 vc
 presentVC  直接 init 创建 vc
 
 @param vcName 跳转 view controller 名称
 @param sbName storyboard name
 @param identifier storyboard 中识别 vc 的 identifier（最好和 vc 同名）
 */

- (void)presentSB:(NSString*)sbName withIdentifier:(NSString*)identifier;
- (void)presentNib:(NSString*)vcName;
- (void)presentVCName:(NSString*)vcName;
- (void)presentVC:(UIViewController*)vc;


- (void)showActionSheet:(UIViewController*)sheet;

- (UIViewController *)currentViewController;

@end
